package com.xusheng.cli.entity.withdrawModule;

import com.baomidou.mybatisplus.annotation.TableField;
import com.xusheng.cli.common.base.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 提现(Withdraw)表实体类
 *
 * @author whr
 * @since 2024-03-19 17:08:59
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class Withdraw extends BaseEntity {
    private static final long serialVersionUID = -3296493239273986049L;
    /**
     * 商户/玩家 id
     */
    private Long userId;
    /**
     * 提现金额
     */
    private BigDecimal amount;
    /**
     * 实际到账金额
     */
    private BigDecimal actualAmount;
    /**
     * 手续费
     */
    private BigDecimal charges;
    /**
     * 当前余额
     */
    private BigDecimal balance;
    /**
     * 状态 1 未处理 2 处理中 3 已完成 4 异常
     */
    private Integer state;
    /**
     * 解决方案: 1 代付结算 2 支付宝结算 3 三方代付结算 4 手动结算
     */
    private Integer solution;
    /**
     * 提现类型: 1 代理 2 玩家
     */
    private Integer type;
    /**
     * 提现账户/银行卡号
     */
    private String account;
    /**
     * 提现账户类型 1 支付宝 2 银行卡
     */
    private Integer accountType;
    /**
     * 银行名称
     */
    private String bankName;
    /**
     * 开户名
     */
    private String bankAccountName;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 银行预留电话
     */
    private String phone;
    /**
     * 异常信息
     */
    private String exceptionInfo;
    /**
     * 单笔扣费
     */
    private BigDecimal chargeSingle;
    /**
     * 提现手续费
     */
    private BigDecimal chargeRate;
    /**
     * 结算成功时间
     */
    private LocalDateTime paymentTime;
    /**
     * 提现渠道，1-网站，2-app
     */
    private Integer channel;
    /**
     * 代付通道号
     */
    private Long paymentChannelId;
    @TableField(exist = false)
    private String userName;

}

